package com.ruoyi.finance.service;

import java.util.List;
import com.ruoyi.finance.domain.Advance;
import org.apache.ibatis.annotations.Param;

/**
 * 预付款Service接口
 * 
 * @author ruoyi
 * @date 2023-11-24
 */
public interface IAdvanceService 
{
    /**
     * 查询预付款
     * 
     * @param requestId 预付款主键
     * @return 预付款
     */
    public Advance selectAdvanceByAdvanceId(Long requestId);

    /**
     * 查询预付款列表
     * 
     * @param advance 预付款
     * @return 预付款集合
     */
    public List<Advance> selectAdvanceList(Advance advance);


    /**
     * 修改预付款
     * 
     * @param advance 预付款
     * @return 结果
     */
    public int updateAdvance(Advance advance);

    /**
     * 批量删除预付款
     *
     * @param requestIds 需要删除的预付款主键集合
     * @return 结果
     */
    public int deleteAdvanceByAdvanceIds(Long[] requestIds);

    /**
     * 删除预付款信息
     *
     * @param advanceId 预付款主键
     * @return 结果
     */
    public int deleteAdvanceByAdvanceId(Long advanceId);

    /**
     * 核准
     * @param requestIds
     * @param flay
     * @param applicant
     * @return
     */
    public int updateAdvanceApplicant(Long[] requestIds,boolean flay,String applicant);

    /**
     * 通过申请记录id,来查询预付款表的数据
     * @param requestIds
     * @return
     */
    public List<Advance> selectAdvanceByRequestId(Long[] requestIds);

    /**
     * 修改付款状态
     * @param requestIds
     * @return
     */
    public int updateAdvanceByAdvanceStatus(Long[] requestIds);
}
